{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "20d1844d-56a1-4d97-9098-04cd38614402",
   "metadata": {},
   "source": [
    "# Linear trees using LightGBM for forecasting"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6c7e22b9-366f-4754-ba9c-c642f5b6f291",
   "metadata": {},
   "source": [
    "[Feature Engineering for Time Series Forecasting](https://www.trainindata.com/p/feature-engineering-for-forecasting)\n",
    "\n",
    "In this notebook we will show we can use linear trees in a gradient boosted machine model to handle time series with trend. This notebook requires installing the [`LightGBM` package](https://lightgbm.readthedocs.io/en/v3.3.4/)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "9a86e7d9-212c-4d82-b896-20a4e078c336",
   "metadata": {},
   "outputs": [],
   "source": [
    "import re\n",
    "import datetime\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "\n",
    "sns.set_context(\"talk\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c51d42e9-8edd-416d-8ac1-9a77792a9ed8",
   "metadata": {},
   "source": [
    "# Data set synopsis"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6e964ccb-f3fd-4e88-a08a-b82e6fc56074",
   "metadata": {},
   "source": [
    "The air passengers dataset is the monthly totals of international airline passengers, from 1949 to 1960, in units of 1000s. \n",
    "\n",
    "For instructions on how to download, prepare, and store the dataset, refer to notebook number 5, in the folder \"01-Create-Datasets\" from this repo."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "0b41fdf4-7f04-4fa6-ae61-5831d3b36473",
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv(\n",
    "    \"../Datasets/example_air_passengers.csv\",\n",
    "    parse_dates=[\"ds\"],\n",
    "    index_col=[\"ds\"],\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ea3cc441-df77-439b-a88d-e74c334635c3",
   "metadata": {},
   "source": [
    "## Plot the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "e096e012-faba-477d-b0b3-6d2a2aac6407",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=[10, 5])\n",
    "data.plot(y=\"y\", marker=\".\", legend=None, ax=ax)\n",
    "ax.set_xlabel(\"Time\")\n",
    "ax.set_ylabel(\"Air passengers (1000s)\")\n",
    "ax.set_title(\"Air passenger numbers\")\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "683d0fb0-fdbc-42c4-a931-788e29064c33",
   "metadata": {},
   "source": [
    "# How to use linear trees with LightGBM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "19c96b20-19c3-4c5f-ae0a-794081a07f82",
   "metadata": {},
   "outputs": [],
   "source": [
    "from lightgbm import LGBMRegressor # sklearn API"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "a9965ea5-fb3c-487d-ab75-036d259031d5",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define the model.\n",
    "model = LGBMRegressor(\n",
    "                      boosting = \"gbdt\", # Gradient Boosted\n",
    "                                         # Decision Trees.\n",
    "                                         # Can also set `boosting`\n",
    "                                         # to `rf` to use a \n",
    "                                         # Random Forest model.\n",
    "                      linear_tree=True, # Use linear trees.\n",
    "                      linear_lambda=0 , # L2 regularisation\n",
    "                                        # for linear models \n",
    "                                        # in the leaves (i.e., Ridge).\n",
    "                      n_estimators=100, # Number of boosting iterations\n",
    "                                        # and therefore the number of trees.\n",
    "                      bagging_freq = 1, # Required when using `rf` mode.\n",
    "                                        # Ensures training samples are \n",
    "                                        # bagged (i.e, sampled without replacement)\n",
    "                                        # for every tree.\n",
    "                      bagging_fraction = 0.8, # Required when using `rf` mode.\n",
    "                                              # Determines size of sample \n",
    "                                              # when bagging the rows.\n",
    "                      feature_fraction = 0.8, # Required when using `rf` mode.\n",
    "                                              # Determins size of column subset\n",
    "                                              # to use for each tree.\n",
    "                     )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ef153167-071f-4dcd-a7b4-5af4cdcc5eb0",
   "metadata": {},
   "source": [
    "As there are linear models in the leaves and we can use regularisation, we'll want to scale the features which is not normally necessary when working with tree-based models.\n",
    "\n",
    "Read more about the parameters available in LightGBM [here](https://lightgbm.readthedocs.io/en/v3.3.4/Parameters.html)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9d20fba2-1d7b-472c-a73a-d67e55173bb7",
   "metadata": {},
   "source": [
    "# Let's build a forecast with linear trees!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "738606c1-df44-4f9f-b4d7-4e5a1f22d234",
   "metadata": {},
   "outputs": [],
   "source": [
    "from lightgbm import LGBMRegressor\n",
    "# Let's ensure all sklearn transformers output pandas dataframes\n",
    "from sklearn import set_config\n",
    "from sklearn.base import clone\n",
    "from sklearn.pipeline import make_pipeline, make_union\n",
    "from sklearn.preprocessing import MinMaxScaler, PolynomialFeatures\n",
    "from sktime.transformations.series.summarize import WindowSummarizer\n",
    "from sktime.transformations.series.time_since import TimeSince\n",
    "\n",
    "set_config(transform_output=\"pandas\")  # Upgrade to scikit-learn 0.12\n",
    "# for this feature"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "130d5c18-2870-4a1a-89af-c09bdff6b775",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>y</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ds</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1949-01-01</th>\n",
       "      <td>112</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1949-02-01</th>\n",
       "      <td>118</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1949-03-01</th>\n",
       "      <td>132</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1949-04-01</th>\n",
       "      <td>129</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1949-05-01</th>\n",
       "      <td>121</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              y\n",
       "ds             \n",
       "1949-01-01  112\n",
       "1949-02-01  118\n",
       "1949-03-01  132\n",
       "1949-04-01  129\n",
       "1949-05-01  121"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Create a copy of the data\n",
    "df = data.copy()\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "a1deeb36-bfa1-4fb2-b646-d2533d7a3629",
   "metadata": {},
   "outputs": [],
   "source": [
    "target = [\"y\"]  # Note: it's in a list.\n",
    "# This ensures we'll get\n",
    "# a dataframe when using df.loc[:, target]\n",
    "# rather than a pandas Series.\n",
    "# This can also be useful if we have\n",
    "# multiple targets."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3dac1165-9d17-4648-b7ed-927ed660de3d",
   "metadata": {},
   "source": [
    "Prepare our transformers. "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b165cd06-6f61-41d9-b73c-8b62d6438a15",
   "metadata": {},
   "source": [
    "We will still build the time feature. This is because it would still allow a tree based model to segment over time and isolate changepoints, outliers, and other interesting periods during training."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "3eb59ff9-4c53-4f12-9f56-4232a5c8fb6d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Prepare time feature transformer.\n",
    "time_feats = make_pipeline(\n",
    "                           TimeSince(freq=\"MS\"), \n",
    "                           PolynomialFeatures(degree=3, include_bias=False)\n",
    "                          )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bd656bab-fc1d-4ad8-a4ce-35aa7923d615",
   "metadata": {},
   "source": [
    "Create lag and window features transformer."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "7b226689-f0ab-4ae1-beb1-80da03a47614",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Features computed from the target.\n",
    "# Compute lag and window features.\n",
    "lag_window_feats = WindowSummarizer(\n",
    "    lag_feature={\n",
    "        \"lag\": [1, 2, 3, 12],  # Lag features.\n",
    "        \"mean\": [[1, 12]],  # [[lag, window size]]\n",
    "    },\n",
    "    target_cols=target,\n",
    "    truncate=\"bfill\",  # Backfill missing values from lagging and windowing.\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9b207c96-356c-4d03-bcab-3fd490df4e4b",
   "metadata": {},
   "source": [
    "Create a pipeline all our features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "eab3ec4f-527f-435a-84ba-ab77082a3598",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create features derived independent of one another\n",
    "pipeline = make_union(\n",
    "                      time_feats, \n",
    "                      lag_window_feats\n",
    ")\n",
    "pipeline = make_pipeline(pipeline, MinMaxScaler())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "ba8dbc26-4dd1-4755-ab7f-48e4b90da1dd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>Pipeline(steps=[(&#x27;featureunion&#x27;,\n",
       "                 FeatureUnion(transformer_list=[(&#x27;pipeline&#x27;,\n",
       "                                                 Pipeline(steps=[(&#x27;timesince&#x27;,\n",
       "                                                                  TimeSince(freq=&#x27;MS&#x27;)),\n",
       "                                                                 (&#x27;polynomialfeatures&#x27;,\n",
       "                                                                  PolynomialFeatures(degree=3,\n",
       "                                                                                     include_bias=False))])),\n",
       "                                                (&#x27;windowsummarizer&#x27;,\n",
       "                                                 WindowSummarizer(lag_feature={&#x27;lag&#x27;: [1,\n",
       "                                                                                       2,\n",
       "                                                                                       3,\n",
       "                                                                                       12],\n",
       "                                                                               &#x27;mean&#x27;: [[1,\n",
       "                                                                                         12]]},\n",
       "                                                                  target_cols=[&#x27;y&#x27;],\n",
       "                                                                  truncate=&#x27;bfill&#x27;))])),\n",
       "                (&#x27;minmaxscaler&#x27;, MinMaxScaler())])</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item sk-dashed-wrapped\"><div class=\"sk-label-container\"><div class=\"sk-label sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" ><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">Pipeline</label><div class=\"sk-toggleable__content\"><pre>Pipeline(steps=[(&#x27;featureunion&#x27;,\n",
       "                 FeatureUnion(transformer_list=[(&#x27;pipeline&#x27;,\n",
       "                                                 Pipeline(steps=[(&#x27;timesince&#x27;,\n",
       "                                                                  TimeSince(freq=&#x27;MS&#x27;)),\n",
       "                                                                 (&#x27;polynomialfeatures&#x27;,\n",
       "                                                                  PolynomialFeatures(degree=3,\n",
       "                                                                                     include_bias=False))])),\n",
       "                                                (&#x27;windowsummarizer&#x27;,\n",
       "                                                 WindowSummarizer(lag_feature={&#x27;lag&#x27;: [1,\n",
       "                                                                                       2,\n",
       "                                                                                       3,\n",
       "                                                                                       12],\n",
       "                                                                               &#x27;mean&#x27;: [[1,\n",
       "                                                                                         12]]},\n",
       "                                                                  target_cols=[&#x27;y&#x27;],\n",
       "                                                                  truncate=&#x27;bfill&#x27;))])),\n",
       "                (&#x27;minmaxscaler&#x27;, MinMaxScaler())])</pre></div></div></div><div class=\"sk-serial\"><div class=\"sk-item sk-dashed-wrapped\"><div class=\"sk-label-container\"><div class=\"sk-label sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" ><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">featureunion: FeatureUnion</label><div class=\"sk-toggleable__content\"><pre>FeatureUnion(transformer_list=[(&#x27;pipeline&#x27;,\n",
       "                                Pipeline(steps=[(&#x27;timesince&#x27;,\n",
       "                                                 TimeSince(freq=&#x27;MS&#x27;)),\n",
       "                                                (&#x27;polynomialfeatures&#x27;,\n",
       "                                                 PolynomialFeatures(degree=3,\n",
       "                                                                    include_bias=False))])),\n",
       "                               (&#x27;windowsummarizer&#x27;,\n",
       "                                WindowSummarizer(lag_feature={&#x27;lag&#x27;: [1, 2, 3,\n",
       "                                                                      12],\n",
       "                                                              &#x27;mean&#x27;: [[1,\n",
       "                                                                        12]]},\n",
       "                                                 target_cols=[&#x27;y&#x27;],\n",
       "                                                 truncate=&#x27;bfill&#x27;))])</pre></div></div></div><div class=\"sk-parallel\"><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-label-container\"><div class=\"sk-label sk-toggleable\"><label>pipeline</label></div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-3\" type=\"checkbox\" ><label for=\"sk-estimator-id-3\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">TimeSince</label><div class=\"sk-toggleable__content\"><pre>TimeSince(freq=&#x27;MS&#x27;)</pre></div></div></div><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-4\" type=\"checkbox\" ><label for=\"sk-estimator-id-4\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">PolynomialFeatures</label><div class=\"sk-toggleable__content\"><pre>PolynomialFeatures(degree=3, include_bias=False)</pre></div></div></div></div></div></div></div></div><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-label-container\"><div class=\"sk-label sk-toggleable\"><label>windowsummarizer</label></div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-5\" type=\"checkbox\" ><label for=\"sk-estimator-id-5\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">WindowSummarizer</label><div class=\"sk-toggleable__content\"><pre>WindowSummarizer(lag_feature={&#x27;lag&#x27;: [1, 2, 3, 12], &#x27;mean&#x27;: [[1, 12]]},\n",
       "                 target_cols=[&#x27;y&#x27;], truncate=&#x27;bfill&#x27;)</pre></div></div></div></div></div></div></div></div><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-6\" type=\"checkbox\" ><label for=\"sk-estimator-id-6\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">MinMaxScaler</label><div class=\"sk-toggleable__content\"><pre>MinMaxScaler()</pre></div></div></div></div></div></div></div>"
      ],
      "text/plain": [
       "Pipeline(steps=[('featureunion',\n",
       "                 FeatureUnion(transformer_list=[('pipeline',\n",
       "                                                 Pipeline(steps=[('timesince',\n",
       "                                                                  TimeSince(freq='MS')),\n",
       "                                                                 ('polynomialfeatures',\n",
       "                                                                  PolynomialFeatures(degree=3,\n",
       "                                                                                     include_bias=False))])),\n",
       "                                                ('windowsummarizer',\n",
       "                                                 WindowSummarizer(lag_feature={'lag': [1,\n",
       "                                                                                       2,\n",
       "                                                                                       3,\n",
       "                                                                                       12],\n",
       "                                                                               'mean': [[1,\n",
       "                                                                                         12]]},\n",
       "                                                                  target_cols=['y'],\n",
       "                                                                  truncate='bfill'))])),\n",
       "                ('minmaxscaler', MinMaxScaler())])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pipeline"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4a36b38e-f9b3-4273-8f0c-1ff69df42c40",
   "metadata": {},
   "source": [
    "Let's check how our feature engineering pipeline behaves."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "c082002f-37ba-4b85-bc53-cfdd6062dac2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time_since_1949-01-01 00:00:00</th>\n",
       "      <th>time_since_1949-01-01 00:00:00^2</th>\n",
       "      <th>time_since_1949-01-01 00:00:00^3</th>\n",
       "      <th>y_lag_1</th>\n",
       "      <th>y_lag_2</th>\n",
       "      <th>y_lag_3</th>\n",
       "      <th>y_lag_12</th>\n",
       "      <th>y_mean_1_12</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ds</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1949-01-01</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.015444</td>\n",
       "      <td>0.015444</td>\n",
       "      <td>0.015444</td>\n",
       "      <td>0.017582</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1949-02-01</th>\n",
       "      <td>0.006993</td>\n",
       "      <td>0.000049</td>\n",
       "      <td>3.419731e-07</td>\n",
       "      <td>0.015444</td>\n",
       "      <td>0.015444</td>\n",
       "      <td>0.015444</td>\n",
       "      <td>0.017582</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1949-03-01</th>\n",
       "      <td>0.013986</td>\n",
       "      <td>0.000196</td>\n",
       "      <td>2.735784e-06</td>\n",
       "      <td>0.027027</td>\n",
       "      <td>0.015444</td>\n",
       "      <td>0.015444</td>\n",
       "      <td>0.017582</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1949-04-01</th>\n",
       "      <td>0.020979</td>\n",
       "      <td>0.000440</td>\n",
       "      <td>9.233272e-06</td>\n",
       "      <td>0.054054</td>\n",
       "      <td>0.027027</td>\n",
       "      <td>0.015444</td>\n",
       "      <td>0.017582</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1949-05-01</th>\n",
       "      <td>0.027972</td>\n",
       "      <td>0.000782</td>\n",
       "      <td>2.188628e-05</td>\n",
       "      <td>0.048263</td>\n",
       "      <td>0.054054</td>\n",
       "      <td>0.027027</td>\n",
       "      <td>0.017582</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1960-08-01</th>\n",
       "      <td>0.972028</td>\n",
       "      <td>0.944838</td>\n",
       "      <td>9.184093e-01</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.832046</td>\n",
       "      <td>0.710425</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.958303</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1960-09-01</th>\n",
       "      <td>0.979021</td>\n",
       "      <td>0.958482</td>\n",
       "      <td>9.383741e-01</td>\n",
       "      <td>0.969112</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.832046</td>\n",
       "      <td>0.789011</td>\n",
       "      <td>0.969566</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1960-10-01</th>\n",
       "      <td>0.986014</td>\n",
       "      <td>0.972224</td>\n",
       "      <td>9.586260e-01</td>\n",
       "      <td>0.779923</td>\n",
       "      <td>0.969112</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.665934</td>\n",
       "      <td>0.980350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1960-11-01</th>\n",
       "      <td>0.993007</td>\n",
       "      <td>0.986063</td>\n",
       "      <td>9.791673e-01</td>\n",
       "      <td>0.689189</td>\n",
       "      <td>0.779923</td>\n",
       "      <td>0.969112</td>\n",
       "      <td>0.567033</td>\n",
       "      <td>0.993290</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1960-12-01</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>0.552124</td>\n",
       "      <td>0.689189</td>\n",
       "      <td>0.779923</td>\n",
       "      <td>0.661538</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>144 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            time_since_1949-01-01 00:00:00  time_since_1949-01-01 00:00:00^2  \\\n",
       "ds                                                                             \n",
       "1949-01-01                        0.000000                          0.000000   \n",
       "1949-02-01                        0.006993                          0.000049   \n",
       "1949-03-01                        0.013986                          0.000196   \n",
       "1949-04-01                        0.020979                          0.000440   \n",
       "1949-05-01                        0.027972                          0.000782   \n",
       "...                                    ...                               ...   \n",
       "1960-08-01                        0.972028                          0.944838   \n",
       "1960-09-01                        0.979021                          0.958482   \n",
       "1960-10-01                        0.986014                          0.972224   \n",
       "1960-11-01                        0.993007                          0.986063   \n",
       "1960-12-01                        1.000000                          1.000000   \n",
       "\n",
       "            time_since_1949-01-01 00:00:00^3   y_lag_1   y_lag_2   y_lag_3  \\\n",
       "ds                                                                           \n",
       "1949-01-01                      0.000000e+00  0.015444  0.015444  0.015444   \n",
       "1949-02-01                      3.419731e-07  0.015444  0.015444  0.015444   \n",
       "1949-03-01                      2.735784e-06  0.027027  0.015444  0.015444   \n",
       "1949-04-01                      9.233272e-06  0.054054  0.027027  0.015444   \n",
       "1949-05-01                      2.188628e-05  0.048263  0.054054  0.027027   \n",
       "...                                      ...       ...       ...       ...   \n",
       "1960-08-01                      9.184093e-01  1.000000  0.832046  0.710425   \n",
       "1960-09-01                      9.383741e-01  0.969112  1.000000  0.832046   \n",
       "1960-10-01                      9.586260e-01  0.779923  0.969112  1.000000   \n",
       "1960-11-01                      9.791673e-01  0.689189  0.779923  0.969112   \n",
       "1960-12-01                      1.000000e+00  0.552124  0.689189  0.779923   \n",
       "\n",
       "            y_lag_12  y_mean_1_12  \n",
       "ds                                 \n",
       "1949-01-01  0.017582     0.000000  \n",
       "1949-02-01  0.017582     0.000000  \n",
       "1949-03-01  0.017582     0.000000  \n",
       "1949-04-01  0.017582     0.000000  \n",
       "1949-05-01  0.017582     0.000000  \n",
       "...              ...          ...  \n",
       "1960-08-01  1.000000     0.958303  \n",
       "1960-09-01  0.789011     0.969566  \n",
       "1960-10-01  0.665934     0.980350  \n",
       "1960-11-01  0.567033     0.993290  \n",
       "1960-12-01  0.661538     1.000000  \n",
       "\n",
       "[144 rows x 8 columns]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pipeline.fit_transform(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "66a1bca2-c242-4586-8935-afe37b10d98d",
   "metadata": {},
   "source": [
    "Let's reset our feature engineering pipeline."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "3f6e2875-ba69-4dfd-8734-ca707f2676cd",
   "metadata": {},
   "outputs": [],
   "source": [
    "# We can use `clone` to return an unfitted version\n",
    "# of the pipeline.\n",
    "pipeline = clone(pipeline)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d9445dbf-0c67-4e52-9df7-ffc5ff178ef6",
   "metadata": {},
   "source": [
    "Let's build a recursive forecast."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "c9741715-c62b-44d4-842b-dbb4ed961188",
   "metadata": {},
   "outputs": [],
   "source": [
    "# --- CONFIG --- #\n",
    "# Define time of first forecast, this determines our train / test split\n",
    "forecast_start_time = pd.to_datetime(\"1958-01-01\")\n",
    "\n",
    "# Define number of steps to forecast.\n",
    "num_of_forecast_steps = 36\n",
    "\n",
    "# Define the model.\n",
    "model = LGBMRegressor(\n",
    "                      boosting = \"gbdt\",\n",
    "                      linear_tree=True, \n",
    "                      linear_lambda=0.1, \n",
    "                      n_estimators=300,\n",
    "                     )\n",
    "\n",
    "# Create a list of periods that we'll forecast over.\n",
    "forecast_horizon = pd.date_range(\n",
    "    forecast_start_time, periods=num_of_forecast_steps, freq=\"MS\"\n",
    ")\n",
    "\n",
    "# How much data in the past is needed to create our features\n",
    "look_back_window_size = pd.DateOffset(months=12)  # We need the latest 12 time periods\n",
    "                                                    # in our predict dataframe to build our\n",
    "                                                    # window features.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "4c3d68e5-1831-4868-a3a1-4165433cb104",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[LightGBM] [Warning] boosting is set=gbdt, boosting_type=gbdt will be ignored. Current value: boosting=gbdt\n"
     ]
    }
   ],
   "source": [
    "# --- CREATE TRAINING & TESTING DATAFRAME  --- #\n",
    "# Ensure we only have training data up to the start\n",
    "# of the forecast.\n",
    "df_train = df.loc[df.index < forecast_start_time].copy()\n",
    "df_test = df.loc[df.index >= forecast_start_time].copy()\n",
    "\n",
    "# --- FEATURE ENGINEERING--- #\n",
    "# Create X_train and y_train\n",
    "y_train = df_train[target]\n",
    "X_train = pipeline.fit_transform(df_train)\n",
    "\n",
    "# --- MODEL TRAINING---#\n",
    "# Train one-step ahead forecast model\n",
    "# LightGBM cannot handle column names which have\n",
    "# certain characters (e.g., \":\"). We replace these\n",
    "# with `_`. \n",
    "X_train = X_train.rename(columns = lambda x:re.sub(\"[^A-Za-z0-9_]+\", \"_\", x))\n",
    "\n",
    "model.fit(X_train, y_train)\n",
    "\n",
    "# --- CREATE DYNAMIC PREDICTION DATAFRAME  --- #\n",
    "# We will recursively append our forecasts to this\n",
    "# dataframe and re-compute our lag and window features from the\n",
    "# target in this dataframe. It contains data in both the training period\n",
    "# and forecast period which is needed for some transformers (e.g., lags and windows).\n",
    "look_back_start_time = forecast_start_time - look_back_window_size\n",
    "\n",
    "# Create `df_predict` which has data going as far back\n",
    "# as needed to create features which need past values.\n",
    "df_predict = df_train.loc[look_back_start_time:].copy()\n",
    "\n",
    "# Extend index into forecast horizon\n",
    "df_predict = pd.concat([df_predict, pd.DataFrame(index=forecast_horizon)])\n",
    "\n",
    "\n",
    "# --- RECURSIVE FORECASTING LOOP --- #\n",
    "for forecast_time in forecast_horizon:\n",
    "    # Compute features during the forecast horizon\n",
    "    X_test = pipeline.transform(df_predict)\n",
    "    X_test = X_test.loc[[forecast_time]]\n",
    "\n",
    "    # Predict one step ahead.\n",
    "    y_pred = model.predict(X_test)\n",
    "\n",
    "    # Append forecast to the target variable columnn in our\n",
    "    # dynamic forecast dataframe `df_forecast`. This `df_forecast`\n",
    "    # is ready for the next iteration where we will re-compute\n",
    "    # features derived from the target such as lags and windows.\n",
    "    df_predict.loc[[forecast_time], target] = y_pred\n",
    "\n",
    "# --- GET FORECAST AND TEST VALUES --- #\n",
    "y_forecast = df_predict.loc[forecast_horizon, target]\n",
    "y_test = df_test.loc[forecast_start_time:, target]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "e927946f-6614-4227-a5d0-d6138d28b1fa",
   "metadata": {},
   "outputs": [],
   "source": [
    "# --- CREATE IN-SAMPLE PREDICTIONS--- #\n",
    "y_forecast_train = model.predict(X_train)\n",
    "y_forecast_train = pd.DataFrame(y_forecast_train, index=X_train.index, columns=target)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "4ce0046e-d7a6-4911-92a6-c4f807d67634",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# --- PLOTTING FORECAST--- #\n",
    "# Plot the forecast.\n",
    "fig, ax = plt.subplots(figsize=[10, 5])\n",
    "# Plot training set.\n",
    "y_train.loc[:forecast_start_time].plot(ax=ax, marker=\".\")\n",
    "# Plot actuals in forecasting horizon.\n",
    "y_test.plot(ax=ax, marker=\".\", color=\"r\", alpha=0.4)\n",
    "# Plot forecast.\n",
    "y_forecast.plot(ax=ax, color=\"k\", linestyle=\"--\")\n",
    "# Plot 1 step forecasts in training data.\n",
    "y_forecast_train.plot(ax=ax, color=\"k\", linestyle=\"-\")\n",
    "\n",
    "ax.legend([\"train\", \"test\", \"forecast\", \"in-sample forecast\"])\n",
    "ax.set_xlabel(\"Time\")\n",
    "ax.set_ylabel(\"Air passengers\")\n",
    "ax.set_title(f\"Air passengers\")\n",
    "ax.ticklabel_format(style=\"sci\", axis=\"y\", scilimits=(0, 0))\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b329343e-5055-4a8a-903d-4ec0252239a4",
   "metadata": {},
   "source": [
    "Let's compute the RMSE of this forecast."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "ca4d4411-a247-47cd-882c-bd67833b69f0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "30.00265539456991"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Compute error metrics.\n",
    "from sklearn.metrics import mean_squared_error\n",
    "\n",
    "mean_squared_error(y_test.loc[y_forecast.index], \n",
    "                   y_forecast, \n",
    "                   squared=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "705f9886-3682-40b9-a828-fe0dedafc232",
   "metadata": {},
   "source": [
    "We can now handle time series with trend natively in a tree-based model!"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2d649f5f-cfbb-43b8-83d1-b168514acb9b",
   "metadata": {},
   "source": [
    "Feel free to change the dates, try different models, and different features!"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8f1085dd-1fd3-41e0-8fb8-6066e42f5d65",
   "metadata": {},
   "source": [
    "# Useful diagnostics"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "75c84197-18a1-40b2-9d9d-209ee13801da",
   "metadata": {},
   "source": [
    "We can plot the trees:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "1a5e49c7-6859-4844-80dd-46192487000e",
   "metadata": {},
   "outputs": [],
   "source": [
    "from lightgbm import plot_tree"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "fa43739e-2422-4bba-a136-99b6db7389fe",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot: >"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_tree(model, \n",
    "          tree_index=1, \n",
    "          figsize=(10,5), \n",
    "          orientation=\"vertical\", \n",
    "          show_info=\"internal_value\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d35a1e62-dec5-47a4-841b-fa17735cddf5",
   "metadata": {},
   "source": [
    "We can obtain information about a specific tree, including the linear models at the leaves, as follows:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "9e6e9d3f-b38a-45a0-813f-909f99d3fba3",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tree\n",
      "version=v3\n",
      "num_class=1\n",
      "num_tree_per_iteration=1\n",
      "label_index=0\n",
      "max_feature_idx=7\n",
      "objective=regression\n",
      "feature_names=time_since_1949_01_01_00_00_00 time_since_1949_01_01_00_00_00_2 time_since_1949_01_01_00_00_00_3 y_lag_1 y_lag_2 y_lag_3 y_lag_12 y_mean_1_12\n",
      "feature_infos=[0:0.99999999999999989] [0:1] [0:1] [0:1] [0:1] [0:1] [0:1] [0:1]\n",
      "tree_sizes=603 689 689\n",
      "\n",
      "Tree=0\n",
      "num_leaves=4\n",
      "num_cat=0\n",
      "split_feature=6 6 6\n",
      "split_gain=535766 75987.1 73920.1\n",
      "threshold=0.38349514563106807 0.14401294498381884 0.53883495145631077\n",
      "decision_type=2 2 2\n",
      "left_child=1 -1 -2\n",
      "right_child=2 -3 -4\n",
      "leaf_value=221.98774515455327 235.53214290684494 228.77708336321155 243.92261910413308\n",
      "leaf_weight=34 21 32 21\n",
      "leaf_count=34 21 32 21\n",
      "internal_value=230.898 225.28 239.727\n",
      "internal_weight=0 66 42\n",
      "internal_count=108 66 42\n",
      "is_linear=1\n",
      "leaf_const=221.98774515455327 235.53214290684494 228.77708336321155 243.92261910413308\n",
      "num_features=0 0 0 0\n",
      "leaf_features=    \n",
      "leaf_coeff=    \n",
      "shrinkage=1\n",
      "\n",
      "\n",
      "Tree=1\n",
      "num_leaves=4\n",
      "num_cat=0\n",
      "split_feature=6 6 6\n",
      "split_gain=433970 61722.6 59875.3\n",
      "threshold=0.38349514563106807 0.10194174757281559 0.53883495145631077\n",
      "decision_type=2 2 2\n",
      "left_child=1 -1 -2\n",
      "right_child=2 -3 -4\n",
      "leaf_value=-8.7321080101860904 4.1705952576228551 -2.5122586590357319 11.722023537045434\n",
      "leaf_weight=27 21 39 21\n",
      "leaf_count=27 21 39 21\n",
      "internal_value=0 -5.05674 7.94631\n",
      "internal_weight=0 66 42\n",
      "internal_count=108 66 42\n",
      "is_linear=1\n",
      "leaf_const=-9.0307411656507579 -2.5372341559293092 -6.955092159203855 -8.5784947848123014\n",
      "num_features=1 1 1 1\n",
      "leaf_features=6  6  6  6  \n",
      "leaf_coeff=6.6975287104262637  14.870892384980289  19.006239287579469  29.19549444196505  \n",
      "shrinkage=0.1\n",
      "\n",
      "\n",
      "Tree=2\n",
      "num_leaves=4\n",
      "num_cat=0\n",
      "split_feature=6 6 6\n",
      "split_gain=351516 50667.6 48499\n",
      "threshold=0.38349514563106807 0.18122977346278321 0.53883495145631077\n",
      "decision_type=2 2 2\n",
      "left_child=1 -1 -2\n",
      "right_child=2 -3 -4\n",
      "leaf_value=-7.0040321762497362 3.7535357543400361 -1.4214240781192122 10.549821308680944\n",
      "leaf_weight=37 21 29 21\n",
      "leaf_count=37 21 29 21\n",
      "internal_value=0 -4.55107 7.15168\n",
      "internal_weight=0 66 42\n",
      "internal_count=108 66 42\n",
      "is_linear=1\n",
      "leaf_const=-8.1159460319388916 -2.7374500036077283 -4.7038312132542872 -8.1463922926821848\n",
      "num_features=1 1 1 1\n",
      "leaf_features=6  6  6  6  \n",
      "leaf_coeff=16.030906202474139  14.390162188158321  12.276147971391948  26.888240397075563  \n",
      "shrinkage=0.1\n",
      "\n",
      "\n",
      "end of trees\n",
      "\n",
      "feature_importances:\n",
      "y_lag_12=9\n",
      "\n",
      "parameters:\n",
      "[boosting: gbdt]\n",
      "[objective: regression]\n",
      "[metric: l2]\n",
      "[tree_learner: serial]\n",
      "[device_type: cpu]\n",
      "[data: ]\n",
      "[valid: ]\n",
      "[num_iterations: 300]\n",
      "[learning_rate: 0.1]\n",
      "[num_leaves: 31]\n",
      "[num_threads: -1]\n",
      "[deterministic: 0]\n",
      "[force_col_wise: 0]\n",
      "[force_row_wise: 0]\n",
      "[histogram_pool_size: -1]\n",
      "[max_depth: -1]\n",
      "[min_data_in_leaf: 20]\n",
      "[min_sum_hessian_in_leaf: 0.001]\n",
      "[bagging_fraction: 1]\n",
      "[pos_bagging_fraction: 1]\n",
      "[neg_bagging_fraction: 1]\n",
      "[bagging_freq: 0]\n",
      "[bagging_seed: 3]\n",
      "[feature_fraction: 1]\n",
      "[feature_fraction_bynode: 1]\n",
      "[feature_fraction_seed: 2]\n",
      "[extra_trees: 0]\n",
      "[extra_seed: 6]\n",
      "[early_stopping_round: 0]\n",
      "[first_metric_only: 0]\n",
      "[max_delta_step: 0]\n",
      "[lambda_l1: 0]\n",
      "[lambda_l2: 0]\n",
      "[linear_lambda: 0.1]\n",
      "[min_gain_to_split: 0]\n",
      "[drop_rate: 0.1]\n",
      "[max_drop: 50]\n",
      "[skip_drop: 0.5]\n",
      "[xgboost_dart_mode: 0]\n",
      "[uniform_drop: 0]\n",
      "[drop_seed: 4]\n",
      "[top_rate: 0.2]\n",
      "[other_rate: 0.1]\n",
      "[min_data_per_group: 100]\n",
      "[max_cat_threshold: 32]\n",
      "[cat_l2: 10]\n",
      "[cat_smooth: 10]\n",
      "[max_cat_to_onehot: 4]\n",
      "[top_k: 20]\n",
      "[monotone_constraints: ]\n",
      "[monotone_constraints_method: basic]\n",
      "[monotone_penalty: 0]\n",
      "[feature_contri: ]\n",
      "[forcedsplits_filename: ]\n",
      "[refit_decay_rate: 0.9]\n",
      "[cegb_tradeoff: 1]\n",
      "[cegb_penalty_split: 0]\n",
      "[cegb_penalty_feature_lazy: ]\n",
      "[cegb_penalty_feature_coupled: ]\n",
      "[path_smooth: 0]\n",
      "[interaction_constraints: ]\n",
      "[verbosity: -1]\n",
      "[saved_feature_importance_type: 0]\n",
      "[linear_tree: 1]\n",
      "[max_bin: 255]\n",
      "[max_bin_by_feature: ]\n",
      "[min_data_in_bin: 3]\n",
      "[bin_construct_sample_cnt: 200000]\n",
      "[data_random_seed: 1]\n",
      "[is_enable_sparse: 1]\n",
      "[enable_bundle: 1]\n",
      "[use_missing: 1]\n",
      "[zero_as_missing: 0]\n",
      "[feature_pre_filter: 1]\n",
      "[pre_partition: 0]\n",
      "[two_round: 0]\n",
      "[header: 0]\n",
      "[label_column: ]\n",
      "[weight_column: ]\n",
      "[group_column: ]\n",
      "[ignore_column: ]\n",
      "[categorical_feature: ]\n",
      "[forcedbins_filename: ]\n",
      "[precise_float_parser: 0]\n",
      "[objective_seed: 5]\n",
      "[num_class: 1]\n",
      "[is_unbalance: 0]\n",
      "[scale_pos_weight: 1]\n",
      "[sigmoid: 1]\n",
      "[boost_from_average: 1]\n",
      "[reg_sqrt: 0]\n",
      "[alpha: 0.9]\n",
      "[fair_c: 1]\n",
      "[poisson_max_delta_step: 0.7]\n",
      "[tweedie_variance_power: 1.5]\n",
      "[lambdarank_truncation_level: 30]\n",
      "[lambdarank_norm: 1]\n",
      "[label_gain: ]\n",
      "[eval_at: ]\n",
      "[multi_error_top_k: 1]\n",
      "[auc_mu_weights: ]\n",
      "[num_machines: 1]\n",
      "[local_listen_port: 12400]\n",
      "[time_out: 120]\n",
      "[machine_list_filename: ]\n",
      "[machines: ]\n",
      "[gpu_platform_id: -1]\n",
      "[gpu_device_id: -1]\n",
      "[gpu_use_dp: 0]\n",
      "[num_gpu: 1]\n",
      "\n",
      "end of parameters\n",
      "\n",
      "pandas_categorical:[]\n",
      "\n"
     ]
    }
   ],
   "source": [
    "results = model.booster_.model_to_string(\n",
    "                                        start_iteration=0, # Which tree to start from\n",
    "                                        num_iteration=3 # Number of trees to print\n",
    "                                        ) \n",
    "print(results)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d49a9d99-a3eb-4128-b76a-e9c1f366d214",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "vscode": {
   "interpreter": {
    "hash": "bbdc955b02f52fd4ac17df57dbf42f77a0da462020a5b6d7fea08231d1cd03fe"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
